home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / LAN / ALAP.D next >
Encoding:
Text File  |  1991-08-18  |  3.3 KB  |  3 lines

  1. ⓪ ⓪ DEFINITION MODULE ALAP;⓪ (*$H+,Z+,R-*)⓪ ⓪ FROM SYSTEM IMPORT BITNUM, BYTE, WORD, LONGWORD, ADDRESS;⓪ ⓪ CONST   minFrameSize = 3;⓪(maxDataSize = 1600; (* Mac: 600!!! *)⓪(maxFrameSize = maxDataSize+5;⓪(⓪(maxDefers = 32;⓪(maxCollsns = 32;⓪(lapENQ = BYTE($81);⓪(lapACK = BYTE($82);⓪(lapRTS = BYTE($84);⓪(lapCTS = BYTE($85);⓪(wksTries = 20;⓪(⓪(rxEnable = $DD;⓪(setRTS   = $62;⓪(txEnable = $6B;⓪ ⓪ TYPE    TransmitStatus = (transmitOK, excessDefers, excessCollsns, dupAddress);⓪(ReceiveStatus = (receiveOK, receiving, nullReceive, frameError);⓪(FrameStatus = (noFrame, lapDATAframe, lapENQframe, lapACKframe,⓪(lapRTSframe, lapCTSframe, badframeCRC, badframeSize, badframeType,⓪(overrunError, underrunError, lostAddress, undefined);⓪(⓪(bitVector = SET OF BITNUM[0..7];⓪(octet = BYTE;⓪(anAddress = octet;⓪(aLAPtype = octet;⓪(aDataField = ARRAY [1..maxDataSize] OF octet;⓪(ptrDataField = POINTER TO aDataField;⓪ ⓪(frameInterpretation = (raw, structured);⓪(aRxFrame = RECORD⓪5CASE :frameInterpretation OF⓪7raw:⓪9rawData: ARRAY [1..maxFrameSize] OF octet|⓪7structured:⓪9dstAddr: anAddress;⓪9srcAddr: anAddress;⓪9lapType: aLAPtype;⓪9dataField: aDataField⓪5END⓪3END;⓪(⓪(aCtrlFrame = RECORD⓪7dstAddr: anAddress;⓪7srcAddr: anAddress;⓪7lapType: aLAPtype;⓪5END;⓪ ⓪(ptrPacket = POINTER TO aPacket;⓪(aPacket = RECORD⓪4status: FrameStatus;⓪4length: [0..maxFrameSize];⓪4next  : ptrPacket;⓪4frame : aRxFrame;⓪4no    : CARDINAL;⓪2END;⓪ ⓪(aTxFrame = RECORD⓪5ctrl: aCtrlFrame;⓪5dataPtr1: ptrDataField;⓪5dataCnt1: CARDINAL;⓪5dataPtr2: ptrDataField;⓪5dataCnt2: CARDINAL;⓪3END;⓪ ⓪ VAR     myAddress: anAddress;⓪(backoff: INTEGER;⓪(fAdrValid: BOOLEAN;⓪(fAdrInUse: BOOLEAN;⓪(fCTSexpected: BOOLEAN;⓪(deferCount, collsnCount: CARDINAL;⓪(DataFramesOut, RTSFramesOut, CTSFramesOut: CARDINAL;⓪(deferHistory, collsnHistory: bitVector;⓪(deferTries, collsnTries, lclbackoff: INTEGER;⓪(RTSframe: aTxFrame;⓪(seed: LONGCARD;⓪(packetBuffers: CARDINAL;⓪(tailPacket: ptrPacket;  (* zeigt aufs älteste gültige Paket *)⓪(headPacket: ptrPacket;  (* zeigt hinter jüngstes Paket *)⓪*(* wenn head = tail, stehen keine neuen Pakete an. *)⓪(⓪(FramesReceived, Interrupts: CARDINAL;⓪(test: BOOLEAN;⓪(⓪(IR_Vector [$360]: PROC;⓪ ⓪ PROCEDURE Init;⓪ PROCEDURE NewPacketBuffer;⓪ PROCEDURE WriteFrame (REF packet: aPacket; no: CARDINAL);⓪ PROCEDURE WriteStatus (status: FrameStatus);⓪ PROCEDURE TransmitPacket;⓪ PROCEDURE TransmitFrame;⓪ PROCEDURE ReceiveFrame (VAR packet: ptrPacket): FrameStatus;⓪ PROCEDURE ReceivePacket (VAR dstParam: anAddress;⓪9VAR srcParam: anAddress;⓪9VAR typeParam: aLAPtype;⓪9VAR dataParam: aDataField;⓪9VAR dataLength: INTEGER);⓪ ⓪ END ALAP.⓪ ə
  2. (* $FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$00000A95$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83$FFEF7C83Ç$000000D5T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$00000629$00000644$000005CA$0000009F$FFF006F0$000000D5$FFEF7C83$FFEF7C83$0000006E$0000002F$000008EE$00000652$0000063C$00000622$000005F9$00000614ÿÇé*)
  3.